<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="../react18/react.development.js"></script>
    <script src="../react18/react-dom.development.js"></script>
    <script src="../react18/babel.min.js"></script>
  </head>
  <body>
    <div id="app"></div>
    <script type="text/babel">
      const AppContext = React.createContext({});
      function Header() {
        const { count } = React.useContext(AppContext);
        return (
          <div>
            <h2>Header：{count}</h2>
          </div>
        );
      }
      function Nav() {
        let { count, setCount } = React.useContext(AppContext);
        return (
          <div>
            <h3>Nav:{count}</h3>
            <button
              onClick={() => {
                setCount((x) => x + 1);
              }}
            >Nav按钮</button>
          </div>
        );
  
      }
      function Footer() {
          const { count } = React.useContext(AppContext);
          return <div><h2>Footer:{count}</h2><Nav></Nav></div>
        }
        function App() {
          const [count,setCount] = React.useState(0);
          return (
            <div>
              <h1>App</h1>
              <AppContext.Provider value={{count,name:"李华",setCount}}>
                <Header></Header>
                <Footer></Footer>
              </AppContext.Provider>
            </div>
          );
        }
      ReactDOM.createRoot(document.getElementById("app")).render(<App />);
    </script>
  </body>
</html>
